package com.xrit.job;

import com.alibaba.dubbo.config.annotation.Reference;
import com.xrit.sunnyday.service.SetMealService;
import com.xrit.sunnyday.common.utils.QiNiuUtils;
import org.springframework.stereotype.Component;

import java.util.List;

/*
任务调度类
 */
//扫描任务调度类
@Component("ClearRubbishImgJob")
public class ClearRubbishImgJob {
    /*
    远程调用
     */
    @Reference
    public SetMealService setMealService;
    /*
    清理垃圾图片(七牛云存储中有,数据库中没有的图片为垃圾图片)
     */
    public void clearRubbishImg(){
        //1,调用七牛云中存储的所有图片list集合
        List<String> imgInQNYList = QiNiuUtils.listFile();
        //2,调用数据中所有图片list集合
        List<String> ImgInDbList = setMealService.findAllImg();
        /*3,使用list集合的rmoveAll()
        七牛云云存储图片list.removeAll(数据库图片list)
         imgIn7Niu.size(7) - 3 = imgIn7Niu.size(4)
        即可移除数据库中的图片,剩下的就是我们要删除的七牛云中的垃圾图片
         */
        imgInQNYList.removeAll(ImgInDbList);
        //5,将imgInQNYList转为string数组(因为可变参数:多个时用数组)
        String[] imgInQNYListStrings = imgInQNYList.toArray(new String[]{});
        //4,删除七牛云的垃圾图片
        QiNiuUtils.removeFiles(imgInQNYListStrings);

    }
}
